package com.ktgj.customer.mapper;

import java.util.List;

import com.ktgj.customer.domain.*;
import com.ktgj.customer.domain.dto.FinanceOrderRefundmentExamineDTO;
import com.ktgj.customer.domain.vo.FinanceOrderRefundmentVo;
import org.apache.ibatis.annotations.Param;

/**
 * 财务会员退款信息Mapper接口
 * 
 * @author ruoyi
 * @date 2022-06-13
 */
public interface FinanceOrderRefundmentMapper 
{
    /**
     * 查询财务会员退款信息
     * 
     * @param refundmentId 财务会员退款信息ID
     * @return 财务会员退款信息
     */
    public FinanceOrderRefundment selectFinanceOrderRefundmentById(Long refundmentId);

    /**
     * 查询财务会员退款信息列表
     * 
     * @param financeOrderRefundment 财务会员退款信息
     * @return 财务会员退款信息集合
     */
    public List<FinanceOrderRefundment> selectFinanceOrderRefundmentList(FinanceOrderRefundment financeOrderRefundment);

    /**
     * 新增财务会员退款信息
     * 
     * @param financeOrderRefundment 财务会员退款信息
     * @return 结果
     */
    public int insertFinanceOrderRefundment(FinanceOrderRefundment financeOrderRefundment);

    /**
     * 提交审核的批次号顺序递增
     * */
    public int number();

    /**
     * 修改财务会员退款信息
     * 
     * @param financeOrderRefundment 财务会员退款信息
     * @return 结果
     */
    public int updateFinanceOrderRefundment(FinanceOrderRefundment financeOrderRefundment);

    /**
     * 删除财务会员退款信息
     * 
     * @param refundmentId 财务会员退款信息ID
     * @return 结果
     */
    public int deleteFinanceOrderRefundmentById(Long refundmentId);

    /**
     * 批量删除财务会员退款信息
     * 
     * @param refundmentIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteFinanceOrderRefundmentByIds(Long[] refundmentIds);

    /**
     * 会员退款申请列表
     * @return
     */
    public List<FinanceOrderRefundmentList> financeOrderRefundmentList(FinanceOrderRefundmentVo financeOrderRefundmentVo);

    /**
     * 退款申请确认
     * @param refundmentId
     * @return
     */
    public FinanceOrderRefundmentDetails orderRefundmentDetails(Long refundmentId);

    /**
     * 会员退款审核列表
     * @return
     */
    public List<FinanceOrderRefundmentExamine> orderRefundmentExamine(FinanceOrderRefundmentExamineDTO examineDTO);

    /**
     * 查询最大的审核批次号
     * @return
     */
    public Long batchNumberMax();

    /**
     * 出纳员完成退款列表
     * @param reviewedTime
     * @param reviewedTimeEnd
     * @param employeeIdApply
     * @param plfkformName
     * @return
     */
    public List<FinanceOrderRefundment> orderRefundmentList(@Param("reviewedTime") String reviewedTime, @Param("reviewedTimeEnd") String reviewedTimeEnd, @Param("employeeIdApply") String employeeIdApply, @Param("plfkformName") String plfkformName);

    /**
     * 批量付款列表
     * @param batchNumber
     * @return
     */
    public List<FinanceOrderRefundmentExamine> bulkPayment(@Param("reviewedTime") String reviewedTime, @Param("reviewedTimeEnd") String reviewedTimeEnd, @Param("orderId") String orderId, @Param("batchNumber") Long batchNumber);

    /**
     * 退款确认
     * @param refundmentId
     * @return
     */
    public FinanceOrderRefundmentExamine refundConfirm(Long refundmentId);
}
